package com.car.loan.project.cm.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.car.loan.project.cm.domain.CmCar;
import com.car.loan.project.cm.domain.CmInsuranceCompany;
import com.car.loan.project.cm.util.select.InsuranceBaseSelect;
import com.car.loan.project.cm.util.vo.SelectedVo;
import java.util.Collection;
import java.util.List;

/**
 * 保险公司Service接口
 * 
 * @author ruoyi
 * @date 2019-10-19
 */
public interface ICmInsuranceCompanyService 
{
    /**
     * 查询保险公司
     * 
     * @param id 保险公司ID
     * @return 保险公司
     */
    public CmInsuranceCompany selectCmInsuranceCompanyById(Integer id);

    /**
     * 查询保险公司列表
     * 
     * @param cmInsuranceCompany 保险公司
     * @return 保险公司集合
     */
    public List<CmInsuranceCompany> selectCmInsuranceCompanyList(
        CmInsuranceCompany cmInsuranceCompany);

    /**
     * 新增保险公司
     * 
     * @param cmInsuranceCompany 保险公司
     * @return 结果
     */
    public int insertCmInsuranceCompany(CmInsuranceCompany cmInsuranceCompany);

    IPage<CmInsuranceCompany> selectPage(IPage<CmInsuranceCompany> page,
        QueryWrapper<CmInsuranceCompany> queryWrapper);

    IPage<SelectedVo> selectedPage(InsuranceBaseSelect insuranceBaseSelect);

    /**
     * 修改保险公司
     * 
     * @param cmInsuranceCompany 保险公司
     * @return 结果
     */
    public int updateCmInsuranceCompany(CmInsuranceCompany cmInsuranceCompany);

    /**
     * 批量删除保险公司
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteCmInsuranceCompanyByIds(Collection<Integer> ids);

    /**
     * 删除保险公司信息
     * 
     * @param id 保险公司ID
     * @return 结果
     */
    public int deleteCmInsuranceCompanyById(Integer id);
}
